<?php
header("Content-Type:text/html;charset=utf-8");
class UpImages
{
    var $annexFolder = "images/album";
    //附件存放点，默认为：annex
    var $upFileType = "jpg gif png";
    //上传的类型，默认为：jpg gif png rar zip
    var $upFileMax = 1024;
    //上传大小限制，单位是“KB”，默认为：1024KB

    function upLoad($inputName) {
        $imageName = random_filename(); //设定当前时间为图片名称
        if (@empty($_FILES['userfile']["name"]))
            return "没有上传图片信息，请确认";
        $name = explode(".", $_FILES[$inputName]["name"]); //将上传前的文件以“.”分开取得文件类型
        $imgCount = count($name); //获得截取的数量
        $imgType = $name[$imgCount - 1]; //取得文件的类型
        if (!$this->check_img_type($_FILES[$inputName]["type"]))
        {
            return "上传文件类型仅支持" . $this->upFileType . " 不支持 " . $imgType;
        }
        $photo = $imageName . "." . $imgType; //写入数据库的文件名
        $uploadFile = $this->annexFolder . "/" . $photo; //上传后的文件名称
        $upFileok = move_uploaded_file($_FILES[$inputName]["tmp_name"], $uploadFile);
        if ($upFileok) {
            $imgSize = $_FILES[$inputName]["size"];
            $kSize = round($imgSize / 1024);
            if ($kSize > ($this->upFileMax * 1024)) {
                @unlink($uploadFile);
                return "上传文件超过 " . $this->upFileMax . "KB";
            }
        } else {
            return "上传图片失败，请确认你的上传文件不超过 {$this->upFileMax} KB 或上传时间超时";
        }
        return "上传图片成功！";
    }
    
    function check_img_type($img_type)
    {
        return $img_type == 'image/pjpeg' ||
               $img_type == 'image/x-png' ||
               $img_type == 'image/png'   ||
               $img_type == 'image/gif'   ||
               $img_type == 'image/jpeg';
    }
}

function random_filename()
{
    $str = '';
    for($i = 0; $i < 9; $i++)
    {
        $str .= mt_rand(0, 9);
    }

    return time() . $str;
}

$u = new UpImages();
$message = $u->upLoad('userfile');

print "{success:true,msg:'".$message."'}";
